package com.kcht.np.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kcht.np.entity.SysRole;
import com.kcht.np.vo.role.RoleCanCreateInfo;
import com.kcht.np.vo.role.RoleCanModifyInfo;

import java.util.Map;
import java.util.Set;

/**
  * <p>
  * 角色 Service 接口
  * </p>
  *
  * @Package:        com.kcht.np.mp.service
  * @Description:    角色 Service 接口
  * @Author:         liuqi
  * @CreateDate:     2020/3/31 21:33
 */

public interface SysRoleService extends IService<SysRole> {

    /**
     * 授予多个权限给角色
     */
    void grantPermissions(Long rid, Set<Long> permissionIds);

    /**
     * 获取到标识为{uid}用户拥有的角色
     */
    Set<SysRole> findRolesByUserId(Long uid);

    /**
     * 查询角色详情，包括权限列表
     * */
    Map<String, Object> queryRichRole(Long rid);


    void save(RoleCanCreateInfo info);

    void update(RoleCanModifyInfo info);

    void delete(Long id);

}
